package cn.com.thinker.gen.maven;

import cn.com.thinker.gen.maven.dto.TemplateDTO;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugins.annotations.Parameter;

/**
 * 插件基类，用于属性配置 设计成抽象类主要是用于后期可扩展，共享参数配置。
 *
 * @author crazyhc
 * @since 2017-05-16
 */
public abstract class AbstractGenerateMojo extends AbstractMojo {

		
	/**
     * 数据源配置
     */
	@Parameter
    private DataSourceConfig dataSource;
    /**
     * 数据库表配置
     */
	@Parameter
    private StrategyConfig strategy;
    /**
     * 包 相关配置
     */
	@Parameter
    private PackageConfig packageInfo;
    /**
     * 模板 相关配置
     */
	@Parameter
    private TemplateDTO template;
    /**
     * 全局 相关配置
     */
	@Parameter
    private GlobalConfig globalConfig;
//
//	@Parameter
//	private ProjectDTO projectConfig;


	/**
	 * 日志工具
	 */
	protected Log log = getLog();


	public DataSourceConfig getDataSource() {
		return dataSource;
	}


	public StrategyConfig getStrategy() {
		return strategy;
	}

//	public ProjectDTO getProjectConfig() {
//		return projectConfig;
//	}


	public PackageConfig getPackageInfo() {
		return packageInfo;
	}


	public TemplateDTO getTemplate() {
		return template;
	}

	public GlobalConfig getGlobalConfig() {
		return globalConfig;
	}



	

}
